haskell の Int と Integer の違いや Float や Double や Rational を理解する - Qiita